"""
爬虫系统配置文件
包含爬虫运行所需的所有配置参数
"""

# 爬虫配置
CRAWLER_CONFIG = {
    # 目标平台配置
    'platforms': {
        '58': {
            'name': '58同城',
            'base_url': 'https://sz.58.com/job/?key=%E9%80%81%E8%B4%A7%E5%8F%B8%E6%9C%BA',
            'headers': {
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
                'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
                'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
                'Referer': 'https://sz.58.com/'
            },
            'list_selector': 'div.job-card',
            'item_selectors': {
                'title': 'div.job-name',
                'company': 'div.company-name',
                'salary': 'div.salary',
                'location': 'div.work-addr',
                'description': 'div.job-desc'
            }
        },
        'zhipin': {
            'name': 'BOSS直聘',
            'base_url': 'https://www.zhipin.com/web/geek/job?query=%E9%80%81%E8%B4%A7%E5%8F%B8%E6%9C%BA&city=320500',
            'headers': {
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
                'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
                'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
                'Referer': 'https://www.zhipin.com/'
            },
            'list_selector': 'div.job-list-box div.job-card',
            'item_selectors': {
                'title': 'span.job-name',
                'company': 'div.company-name',
                'salary': 'span.salary',
                'location': 'span.job-area',
                'description': 'div.job-desc'
            }
        },
        'liepin': {
            'name': '猎聘网',
            'base_url': 'https://www.liepin.com/zhaopin/?key=%E9%80%81%E8%B4%A7%E5%8F%B8%E6%9C%BA&dq=320500',
            'list_selector': 'div.job-card-container',
            'item_selectors': {
                'title': 'div.job-title',
                'company': 'div.company-name',
                'salary': 'span.job-salary',
                'location': 'span.job-location',
                'description': 'div.job-description'
            }
        },
        'llrlzyfw': {
            'name': '老年人力资源服务网',
            'base_url': 'https://www.llrlzyfw.cn/api/v1/job/search',
            'headers': {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Origin': 'https://www.llrlzyfw.cn',
                'Referer': 'https://www.llrlzyfw.cn/',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
                'Authorization': ''
            },
            'params': {
                'current': 1,
                'size': 20,
                'cityCode': '320500',
                'jobType': '',
                'keyword': '司机'
            },
            'method': 'POST'
        }
    },
    
    # 通用请求头配置
    'headers': {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
        'Connection': 'keep-alive'
    },
    
    # 职位关键词列表
    'keywords': ['司机', '驾驶员', '代驾', '送货', '配送'],
    
    # 最低年龄要求
    'min_age': 60,
    
    # 目标城市
    'city': '苏州',
    
    # 爬取间隔（秒）
    'crawl_interval': 2
}

# 数据库配置
DB_CONFIG = {
    # CSV文件保存路径
    'csv_path': 'data/jobs.csv',
    
    # CSV文件字段定义
    'fields': [
        'title',          # 职位名称
        'company',        # 公司名称
        'salary',         # 薪资待遇
        'location',       # 工作地点
        'age_requirement',# 年龄要求
        'job_description',# 职位描述
        'contact',        # 联系方式
        'publish_time',   # 发布时间
        'source_url'      # 信息来源
    ]
}

# 添加代理配置
PROXY_CONFIG = {
    'enable': False,
    'http': 'http://your-proxy-server:port',
    'https': 'https://your-proxy-server:port'
} 